package com.ebraga.trackerclub.android.dao.api;

import java.util.List;

import com.ebraga.trackerclub.android.dao.entity.ParameterAndroid;
import com.ebraga.trackerclub.android.exception.BackofficeDBConnectionException;
import com.ebraga.trackerclub.android.exception.dao.BackofficeDaoException;
import com.ebraga.trackerclub.android.exception.dao.BackofficeIllegalArgumentDaoException;

public interface ParameterDao {
	
	
	/**
	 * Return parameter from android database
	 * 
	 * @return ParameterAndroid
	 * @throws BackofficeDBConnectionException
	 * @throws BackofficeDaoException
	 */
	ParameterAndroid getParameter(String param) throws BackofficeDBConnectionException, 
		BackofficeDaoException , BackofficeIllegalArgumentDaoException;	
	
	/**
	 * Return all parameter from android database
	 * 
	 * @return ParameterAndroid list
	 * @throws BackofficeDBConnectionException
	 * @throws BackofficeDaoException
	 */
	List<ParameterAndroid> getParameters() throws BackofficeDBConnectionException, BackofficeDaoException;
	
	
	/**
	 * Updates all parameters on parameter list.
	 * 
	 * @param parameterList Parameters to be updated.
	 * @throws BackofficeDBConnectionException
	 * @throws BackofficeDaoException
	 */
	void updateParameters(List<ParameterAndroid> parameterList) throws BackofficeDBConnectionException, BackofficeDaoException;
}
